在关系数据库中,有两字段是父子关系,通过递归算法,输入一个父ID,可以获取所有对应的子ID。这种数据结构在组织架构中经常使用,显示一般使用树形结构。在Domino中同样可以处理这样的情况,以下是个小demo,希望对大家有帮助,交流QQ 873968102
1)视图的数据结构(这数据结构使用在一些应用当中,这是前台UI xpages domino动态编辑树 )
2)以下是使用LS的递归算法,通过输入一个父ID,把所有子ID带出来,通过 : 分隔,其它JAVA、SSJS写法类似,就不写出来了。有些同学会想,为什么要获取所有的子ID呢?例如删除一个ID,就先要获取子ID一起,然后当前ID和子ID全删除。
%REM
视图第一第二列递归取数据
view,id为全局变量
%END REM
Dim id asstring
Function tempstring1(key As String) AsString
Dim vc1 AsNotesViewEntryCollection
Dim entry1 As NotesViewEntry
Set vc1=view.GetAllEntriesByKey(key,True)
Set entry1=vc1.GetFirstEntry
While Not entry1 Is Nothing
If id=""Then
id=CStr(entry1.ColumnValues(1))
Else
id=id & ":" & CStr(entry1.ColumnValues(1))
EndIf
tempstring1=id & ":" &tempstring1(CStr(entry1.ColumnValues(1)))
Setentry1=vc1.Getnextentry(entry1)
Wend
EndFunction